package com.ncloud.system.entity;

import com.alibaba.fastjson.annotation.JSONField;
import com.alibaba.fastjson.serializer.ToStringSerializer;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.ncloud.system.conf.CustomJsonDateDeserializer;

import java.io.Serializable;
import java.util.Date;

@SuppressWarnings("serial")
public class Menu implements Serializable{
	@JSONField(serializeUsing=ToStringSerializer.class)
	private Long menuId;
	private String menuName;
	@JSONField(serializeUsing=ToStringSerializer.class)
	private Long parentId;
	private String parentName;
	private String menuUrl;
	private String menuDesc;
	private String useTag;
	private String icon;
	private Integer sort;
	private Boolean selectState;

	@JSONField(serializeUsing=ToStringSerializer.class)
	private Long createUser;
	@JSONField(format="yyyy-MM-dd HH:mm:ss")
	private Date createDate;
	@JSONField(serializeUsing=ToStringSerializer.class)
	private Long updateUser;
	@JSONField(format="yyyy-MM-dd HH:mm:ss")
	private Date updateDate;
	private String remarks;

	public Long getMenuId() {
		return menuId;
	}

	public void setMenuId(Long menuId) {
		this.menuId = menuId;
	}

	public String getMenuName() {
		return menuName;
	}

	public void setMenuName(String menuName) {
		this.menuName = menuName;
	}

	public Long getParentId() {
		return parentId;
	}

	public void setParentId(Long parentId) {
		this.parentId = parentId;
	}

	public String getMenuUrl() {
		return menuUrl;
	}

	public void setMenuUrl(String menuUrl) {
		this.menuUrl = menuUrl;
	}

	public String getMenuDesc() {
		return menuDesc;
	}

	public void setMenuDesc(String menuDesc) {
		this.menuDesc = menuDesc;
	}

	public String getUseTag() {
		return useTag;
	}

	public void setUseTag(String useTag) {
		this.useTag = useTag;
	}

	public Integer getSort() {
		return sort;
	}

	public void setSort(Integer sort) {
		this.sort = sort;
	}

	public Long getCreateUser() {
		return createUser;
	}

	public void setCreateUser(Long createUser) {
		this.createUser = createUser;
	}
	
	public Date getCreateDate() {
		return createDate;
	}
	@JsonDeserialize(using = CustomJsonDateDeserializer.class)
	public void setCreateDate(Date createDate) {
		this.createDate = createDate;
	}

	public Long getUpdateUser() {
		return updateUser;
	}

	public void setUpdateUser(Long updateUser) {
		this.updateUser = updateUser;
	}

	public Date getUpdateDate() {
		return updateDate;
	}
	@JsonDeserialize(using = CustomJsonDateDeserializer.class)
	public void setUpdateDate(Date updateDate) {
		this.updateDate = updateDate;
	}

	public String getRemarks() {
		return remarks;
	}

	public void setRemarks(String remarks) {
		this.remarks = remarks;
	}

	public String getIcon() {
		return icon;
	}

	public void setIcon(String icon) {
		this.icon = icon;
	}

	public Boolean getSelectState() {
		return selectState;
	}

	public void setSelectState(Boolean selectState) {
		this.selectState = selectState;
	}

	public String getParentName() {
		return parentName;
	}

	public void setParentName(String parentName) {
		this.parentName = parentName;
	}
}
